#include<iostream>
#include <iterator>
#include<vector>
using namespace std;
const int N=1e5+10;
vector<int> a(N);
int n=0;    
int ret=0;
int main()
{
    //感觉这个也不能像是动态规划吧，不好说，反正我觉得算点小贪心
    cin>>n; 
    int m=-1e5;
    int min=1e5;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        if(a[i]<min) min=a[i];
        ret=max(ret,a[i]-min);
    }
    cout<<ret<<endl;
    return 0;
}